1. Field of the Invention
The present invention generally relates to a robot control system, and in particular, to a network-based robot control system such as a Ubiquitous Robotic Companion (URC) and a robot velocity control method in the network-based robot control system.
2. Description of the Related Art
A mechanical apparatus which automatically makes a determination and carries out certain operations in accordance with specific instructions using sensors corresponding to human senses is referred to as a “robot”. Conventional robots are now evolving into human robots such as a cleaning robot and a toy robot, according to tasks assigned by users, and are being developed to do multiple functions at the same time.
A robot is designed to provide various services through communication with human beings. Recently, a network-based robot control system such as a Ubiquitous Robotic Companion (URC) system has been developed.
In a network-based robot control system, a user can remotely control a robot using a client such as a Personal Digital Assistant (PDA), a web pad, a cellular phone, or a Personal Computer (PC). The client remotely controls the robot through a wired/wireless network such as an Internet network, a Wireless Local Area Network (W-LAN), or a mobile communication network (CDMA, GSM) at the request of the user. The robot performs an action under the control of the client and provides data to the client in general video data. Thus, the user can control the robot while viewing an image from the robot on a screen of the client.
The performance of a processor varies from client to client and different communication environments are used for different clients. For example, a PC has superior processor performance and data transmission velocity, whereas a cellular phone or a PDA has lower processor performance and data transmission velocity.
When the same video data frames are provided by the robot to different clients, a client having a high data reception velocity can successfully receive and process the video data frames. Meanwhile, a client having low processor performance and data reception velocity may fail to receive the video data frames or cannot process the received video data frames, resulting in interruption in its operation or the occurrence of an error.
Thus, conventionally, the number of data frames per second or video data quality is adjusted for each client according to the data reception velocity and processor performance of the client.
For example, when a client having superior processor performance and high data reception velocity rapidly receives video data frames from a robot and process the received video data frames, the video data frames from the robot are directly transmitted to the client. On the other hand, when a client having low processor performance and data reception velocity slowly receives video data frames from a robot, the video data frames from the robot are transmitted after the number of video data frames is reduced.
In case of the client having superior processor performance and high data reception velocity, an image from the robot is seamlessly and smoothly displayed on a screen of the client due to direct transmission of the video data frames from the robot to the client. However, in case of the client having low processor performance and data reception velocity, an image from the robot is not displayed smoothly and the display of the image is often interrupted because the video data frames are not received entirely at the same time and only some portions thereof are received. As a result, the user cannot determine the current state of the robot with the image displayed on the screen of the client having low processor performance and data reception velocity, and the use will experience difficulty in controlling the robot.
For example, when a robot provides video data frames at a rate of 10 frames per second, the video data frames are provided to a client having superior processing performance such as a PC at a rate of 10 frames per second and are provided to a client having low processing performance such as a cellular phone at a rate lower than 10 frames per second (e.g., at a rate of 5-7 frames per second). In this case, an image displayed on the client having superior processing performance changes at the velocity of the robot, whereas an image displayed on the client having low processing performance changes at a velocity that is much less smooth than the movement velocity of the robot resulting in poor reception, making it difficult for users to control the robot.